Alternative Classes with Different Interfaces